
// 就方法处理异步的方法
// function xq(){
//     setTimeout(function(){
//         console.log('蜗牛相亲了');
//         marry();
//     },1000)
// }

// function marry(){
//     setTimeout(function(){
//         console.log("蜗牛结婚了");
//     },500)
// }

// promise 方法

function xq() {
    return new Promise((resolve, reject) => {
        setTimeout(function () {
            console.log('蜗牛相亲了');
            resolve()
        }, 1000)
    })
}

function marry() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log('蜗牛结婚了');
            resolve()
        }, 500)
    })
}

function baby1() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log('小蜗牛1出生了');
            resolve()
        }, 200)
    })
}
function baby2() {
    return new Promise((resolve, reject)=>{
        setTimeout(() => {
            console.log('小蜗牛2出生了');
            resolve()
        }, 300)
    })
}
function baby3() {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log('小蜗牛3出生了');
            resolve()
        }, 600)
    })
}

function buyHouse() {
    console.log('给Baby买房');
}

const p = Promise.race([baby1(), baby2(), baby3()])
p.then(buyHouse)
// xq().then(marry).then(baby)
// xq().then(()=>{
//     return marry()
// }).then(()=>{
//     return baby()
// })
